
// 给一个节点（原始或nw节点），即可以自动分析出来 。ys属性 的样式代号。
function NW04_zdy_ys_gtGC(dhk) {
    this.dhk = dhk;// new NW04_zdy_ys_dh(); //, dhk
}


function NW04_zdy_ys_gt(jd) {
    this.jd = jd;
    this.nr = null;
    this.ysCS = {};//样式参数。用户自己的配置。
}
NW04_zdy_ys_gt.prototype.tj = function (ming, zhi) {
    this.ysCS[ming] = zhi;
}
NW04_zdy_ys_gt.prototype.tjDH = function (dx) {
    if (dx) {
        for (let ming in dx) {
            if (ming == 'nr') {
                // if (!this.nr) {//没指定内容时，可以录入内容
                this.nr = dx[ming];
                // }
                continue;
            }
            if (this.ysCS[ming]) {
                continue;
            }
            this.tj(ming, dx[ming])
        }
    }
}

//分析样式。封装在 样式个体中。
NW04_zdy_ys_gtGC.prototype.hqGT = function (jd) {
    let cs;
    let _sx = jd.getAttributeNode('ys');
    let yscs;
    if (_sx) {
        cs = NWHS_sck(_sx.value)
        if (cs) {
            let jdBQming = jd.nodeName;
            yscs = new NW04_zdy_ys_gt(jd);
            if (cs.indexOf(',') == -1) {
                yscs.tjDH(this.dhk.hqYS(jdBQming, cs))
            } else {
                cs = cs.split(',');
                let cs1;
                for (let i = 0; i < cs.length; i++) {
                    // 样式代号 一定不包含=号。
                    if ((cs1 = NWHS_sck(cs[i]))) {
                        if (cs1.indexOf('=') == -1) {
                            //这里是【样式代号】的样式
                            yscs.tjDH(this.dhk.hqYS(jdBQming, cs1))
                        } else {
                            //包含=。表示【参数=值】
                            cs1 = cs1.split('=');
                            cs1[0] = NWHS_sck(cs1[0])
                            if (cs1[0]) {
                                cs1[1] = NWHS_sck(cs1[1]);
                                if (cs1[0] == 'nr') {
                                    yscs.nr = cs1[1];//用户配置的内容，强制写入。
                                    continue;
                                }
                                yscs.tj(cs1[0], (cs1[0] == 'k' || cs1[0] == 'g') && /^[0-9.]+$/.test(cs1[1]) ? cs1[1] + 'px' : cs1[1])
                            }
                        }
                    }
                }
            }
        }
    }
    _sx = jd.getAttributeNode('nr');
    if (_sx) {
        if (!yscs) {
            yscs = new NW04_zdy_ys_gt(jd);
        }
        yscs.nr = _sx.value
    }
    return yscs;
}